import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** PI 核查管理明细信息 */
export interface CheckDetail {
          id: number; // 编号
          checkId?: number; // 核查单编号
          assignmentDetailId: number; // 任务单明细编号
          houseId: number; // 房产编号
          patrolPid: number; // 巡检父项编号
          patrolId: number; // 巡检项编号
          patrolResult: number; // 巡检结果
          inspector: number; // 巡检人
          inspectDate: string | Dayjs; // 巡检日期
          location1: number; // 异常定位一
          location2: number; // 异常定位二
          description: number; // 异常描述
          descriptionExtra: string; // 异常描述补充
          fileUrls: string; // 异常图片
          processMethod: number; // 处理方法
          checked?: boolean; // 是否核查更新
}

/** PI 核查管理信息 */
export interface Check {
          id: number; // 编号
          taskId: number; // 巡检任务编号
          bomId: number; // 巡检套餐编号
          title: string; // 标题
          code: string; // 核查单号
          memo: string; // 备注
          status: number; // 状态
            checkdetails?: CheckDetail[]
}

// PI 核查管理 API
export const CheckApi = {
  // 查询PI 核查管理分页
  getCheckPage: async (params: any) => {
    return await request.get({ url: `/pi/check/page`, params })
  },

  // 查询PI 核查管理详情
  getCheck: async (id: number) => {
    return await request.get({ url: `/pi/check/get?id=` + id })
  },

  // 新增PI 核查管理
  createCheck: async (data: Check) => {
    return await request.post({ url: `/pi/check/create`, data })
  },

  // 修改PI 核查管理
  updateCheck: async (data: Check) => {
    return await request.put({ url: `/pi/check/update`, data })
  },

  // 删除PI 核查管理
  deleteCheck: async (id: number) => {
    return await request.delete({ url: `/pi/check/delete?id=` + id })
  },

  /** 批量删除PI 核查管理 */
  deleteCheckList: async (ids: number[]) => {
    return await request.delete({ url: `/pi/check/delete-list?ids=${ids.join(',')}` })
  },

  // 导出PI 核查管理 Excel
  exportCheck: async (params) => {
    return await request.download({ url: `/pi/check/export-excel`, params })
  },

// ==================== 子表（PI 核查管理明细） ====================

  // 获得PI 核查管理明细列表
  getCheckDetailListByCheckId: async (checkId) => {
    return await request.get({ url: `/pi/check/check-detail/list-by-check-id?checkId=` + checkId })
  },
}